#pragma once

#include "AutoNativePtr.h"
#include "TsVanillaOptionPricer.h"

using namespace System;

namespace TreasAlgo
{

public ref class MVanillaOptionPricer
{

public:

	MVanillaOptionPricer();

	~MVanillaOptionPricer();
	
	void priceOptionEuro(
			DateTime	valueDate,
			DateTime	maturity,
			double		underlying,
			double		strike,
			double		riskFreeRate,
			double		dividendYield,
			double		volatility,
			double%		NPV,
			double%		delta,
			double%		gamma,
			double%		theta);

	void priceOptionAmer(
			DateTime	valueDate,
			DateTime	maturity,
			double		underlying,
			double		strike,
			double		riskFreeRate,
			double		dividendYield,
			double		volatility,
			double%		NPV,
			double%		delta,
			double%		gamma);
private:

	CAutoNativePtr<TsVanillaOptionPricer> m_optPtr;	
};

}

